5.07. ООП
ООП
ООП
Класс и объект:
class User {
public $name;
public function __construct($name) {
$this->name = $name;
}
public function sayHello() {
return "Привет, " . $this->name;
}
}
$user = new User("Петр");
echo $user->sayHello();
Наследование:
class Admin extends User {
public function role() {
return "Администратор";
}
}
Интерфейсы:
interface Logger {
public function log(string $message);
}
class FileLogger implements Logger {
public function log(string $message) {
file_put_contents('log.txt', $message . PHP_EOL, FILE_APPEND);
}
}
Трейты:
trait Loggable {
public function log($msg) {
echo "[LOG] $msg";
}
}
class Service {
use Loggable;
}